﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using ePlanet.ResourceRequest.Models;
using ePlanet.ResourceRequest.DataAccess;

namespace ePlanet.ResourceRequest.Services
{
    public interface IResourceRequestService
    {
        void ApplyNewRequest(ResourceRequestModel requestModel);
        void AgreeRequest(ResourceRequestModel requestModel);
        void AgreeRequest(List<Guid> idList);
        void DisAgreeRequest(ResourceRequestModel requestModel);
        void DisAgreeRequest(List<Guid> idList);
        ResourceRequestModel GetResourceRequestModelByID(string ID);
        DataTable GetRequestList(ResourceRequestEnum requestEnum, string userID);
        DataTable GetRequestListByWellDataID(ResourceRequestEnum requestEnum, string wellDataID);
        DataTable GetRequestList(ResourceRequestEnum requestEnum, string userID,string wellDataID);
        DataTable GetDone(string userID,string wellTypeID);
        bool GetPrivilege(string dataID, string userID,ref bool canView,ref bool canDownload);
        bool HasNoExpiredRequest(string dataID, string userID);

        DataTable QueryAgent(ResourceRequestEnum requestEnum, int pageIndex, int pageSize, out int sum);
        DataTable QueryDone(int pageIndex, int pageSize, out int sum);
    }
}